package com.vm.osm.business.service;

import com.vm.osm.business.dto.app.rsp.RspAppOrderPage;
import com.vm.osm.business.dto.app.rsp.RspProblemPage;
import com.vm.osm.business.dto.req.orderInst.ReqModifyTime;
import com.vm.osm.business.dto.rsp.RspPage;
import com.vm.osm.business.dto.rsp.orderInst.AppOrderList;


import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * Created by chenzui on 2018/4/12.
 */
public interface IAppOrderService {
    public RspAppOrderPage findPage(String staffId,Integer pageNum,Integer pageSize,String enterpriseId);

    public RspProblemPage findPage(String enterpriseId, String failTypeId, String title, Integer pageNum, Integer pageSize);

    public Map<Integer,Integer> data(String staffId);

    public void confirm(HttpServletRequest request,String orderId);

    public void again(HttpServletRequest request,String orderId,String remark);

    public void cancel(HttpServletRequest request,String orderId);

    public Map queryStatus(String staffId);

    public Map queryStatusByDept(String departmentId,String enterpriseId);

    /**
     * 撤回
     * @param request
     * @param orderId
     * @param remark
     */
    public void turnBack(HttpServletRequest request,String orderId,String remark);

    public RspPage<AppOrderList> queryAppMyOrder(String staffId,String enterpriseId,String type,Integer pageNum,Integer pageSize);

    public RspPage<AppOrderList> queryAppDepartmentOrder(String enterpriseId,String type,Integer pageNum,Integer pageSize);

    public void modifyTime(ReqModifyTime reqModifyTime,HttpServletRequest request);
}
